home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xarchie-2.0.9 / pmachine.h < prev    next >
C/C++ Source or Header  |  1995-06-18  |  3KB  |  161 lines

  1. /*
  2.  * This is where we drop in the various dependencies for different systems.
  3.  * Someday this might be remotely complete.
  4.  *
  5.  * I kept the name pmachine.h because it was already in all of the files...this
  6.  * barely resembles the pmachine.h that comes with the real Prospero, though.
  7.  *
  8.  * $Revision: 1.12 $
  9.  * gf 23 Nov 1992 : Added section for defining malloc() & co.
  10.  */
  11.  
  12. #ifdef u3b2
  13. # define USG
  14. # define NOREGEX
  15. # define MAXPATHLEN 1024       /* There's no maxpathlen in any 3b2 .h file.  */
  16. #endif
  17.  
  18. #ifdef m88k
  19. #define MAXPATHLEN 1024
  20. #endif
  21.  
  22. #ifdef hpux
  23. # ifndef bcopy
  24. #  define FUNCS            /* HP/UX 8.0 has the fns.  */
  25. # endif
  26. # define NOREGEX
  27. # define NEED_STRING_H
  28. #endif
  29.  
  30. /* These are required for a Sequent running Dynix/PTX, their SysV variant.
  31.    Archie builds fine untouched on a system running their BSD-based OS.  */
  32. #ifdef _SEQUENT_
  33. # define NOREGEX
  34. # define USG
  35. #endif
  36.  
  37. #if defined(USG) || defined(SYSV)
  38. # define FUNCS
  39. #endif
  40.  
  41. #ifdef SOLARIS2
  42. #define FUNCS
  43. #define NOREGEX
  44. #define NEED_STRING_H
  45. #endif
  46.  
  47. #ifdef ISC
  48. # define FUNCS
  49. # define STRSPN
  50. # define NOREGEX
  51. #endif
  52.  
  53. #ifdef SCO
  54. # define MAXPATHLEN 1024
  55. # define NEED_TIME_H
  56. # define WANT_BOTH_TIME
  57. # define NEED_STRING_H
  58. # define NOREGEX
  59. #endif
  60.  
  61. #ifdef PCNFS
  62. # define FUNCS
  63. # define NEED_STRING_H
  64. #ifndef MSDOS
  65. # define MSDOS
  66. #endif
  67. #endif
  68.  
  69. #ifdef CUTCP
  70. # define FUNCS
  71. # define NOREGEX
  72. # define NEED_STRING_H
  73. # define SELECTARG int
  74. # ifndef MSDOS
  75. #  define MSDOS
  76. # endif
  77. #endif
  78.  
  79. #ifdef _AUX_SOURCE
  80. # define AUX
  81. # define NOREGEX
  82. # define NBBY 8    /* Number of bits in a byte.  */
  83. typedef long Fd_mask;
  84. # define NFDBITS (sizeof(Fd_mask) * NBBY)    /* bits per mask */
  85. #endif
  86.  
  87. #ifdef OS2
  88. # define NOREGEX
  89. # include <pctcp.h>
  90. #endif
  91. #ifdef MSDOS
  92. # define USG
  93. # define NOREGEX
  94. # include <string.h>
  95. # include <stdlib.h>
  96. #endif
  97.  
  98. #ifdef _AIX
  99. # ifdef u370
  100. #  define FUNCS
  101. # endif /* AIX/370 */
  102. # define _NONSTD_TYPES
  103. # define _BSD_INCLUDES
  104. # define NEED_STRING_H
  105. # define NEED_SELECT_H
  106. # define NEED_TIME_H
  107. #endif
  108.  
  109. /* General problems.  */
  110.  
  111. #ifdef FUNCS
  112. # define index        strchr
  113. /* According to mycroft@gnu.ai.mit.edu. */
  114. # ifdef _IBMR2
  115. char *strchr();
  116. # endif
  117. # define rindex        strrchr
  118. # ifndef _AUX_SOURCE
  119. #  define bcopy(a,b,n)    memcpy(b,a,n)
  120. #  define bzero(a,n)    memset(a,0,n)
  121. # ifdef _IBMR2
  122. char *memset();
  123. # endif
  124. # endif
  125. #endif
  126.  
  127. #if defined(_IBMR2) || defined(_BULL_SOURCE)
  128. # define NEED_SELECT_H
  129. #endif
  130. #if defined(USG) || defined(UTS)
  131. # define NEED_STRING_H
  132. #endif
  133. #if defined(USG) || defined(UTS) || defined(_AUX_SOURCE)
  134. # define NEED_TIME_H
  135. # ifdef UTS
  136. #  define WANT_BOTH_TIME
  137. # endif
  138. #endif
  139.  
  140. #ifdef VMS
  141. /* Get the system status stuff.  */
  142. # include <ssdef.h>
  143. #endif /* VMS */
  144.  
  145. /*
  146.  * FD_SET: lib/pfs/dirsend.c, user/vget/ftp.c
  147.  */
  148. #ifndef CUTCP
  149.  
  150. #define SELECTARG fd_set
  151. #if !defined(FD_SET) && !defined(VMS) && !defined(NEED_SELECT_H)
  152. #define    FD_SETSIZE    32
  153. #define    FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
  154. #define    FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
  155. #define    FD_ISSET(n, p)    ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
  156. #undef FD_ZERO
  157. #define FD_ZERO(p)    bzero((char *)(p), sizeof(*(p)))
  158. #endif
  159.  
  160. #endif /* not CUTCP */
  161.